﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Inventario_HardSoft.Controlador;
using Inventario_HardSoft.ADO;

namespace Inventario_HardSoft.Presentacion
{
    public partial class Registro_de_Problemas : Form
    {
        private Ctrl_Reg_Usu getList_Reg_Usuarios;
        private Ctrl_Reg_Sol get_RegistroSoluciones;
        private Ctrl_Softwares get_Softwares;
    
        string nombreUsuario;

        public Registro_de_Problemas()
        {
            InitializeComponent();
            getList_Reg_Usuarios = new Ctrl_Reg_Usu();
            get_RegistroSoluciones = new Ctrl_Reg_Sol();
            get_Softwares = new Ctrl_Softwares();
        }

        public Registro_de_Problemas(string usuario): this()
        {
            nombreUsuario = usuario;
        }
        
        private void radiobtn_hardware_CheckedChanged(object sender, EventArgs e)
        {
            String nombreEq = String.Empty;
            if (!String.IsNullOrWhiteSpace(txt_nombEquipo.Text))
            {
                nombreEq = txt_nombEquipo.Text;
                panel1.Visible = true;
                panel1.Controls.Clear(); //limpiamos el panel
                UC_RegProb_Hw uc_hardware = new UC_RegProb_Hw(nombreUsuario, nombreEq);               
                uc_hardware.Name = "uc_hardware";
                panel1.Controls.Add(uc_hardware); 
            }             
            else
            {
                panel1.Visible = true;
                panel1.Controls.Clear(); //limpiamos el panel
                UC_RegProb_Hw uc_hardware = new UC_RegProb_Hw(nombreUsuario);
                uc_hardware.Name = "uc_hardware";
                panel1.Controls.Add(uc_hardware);
            }
        }  

        private void radiobtn_software_CheckedChanged(object sender, EventArgs e)
        { 
            String nombreEq = String.Empty;
            
            if (!String.IsNullOrWhiteSpace(txt_nombEquipo.Text))
            {
                nombreEq = txt_nombEquipo.Text;
                panel1.Visible = true;
                panel1.Controls.Clear();
                //cargamos el control de usuario
                UC_RegProb_Sw uc_software = new UC_RegProb_Sw(nombreUsuario, nombreEq);
                uc_software.Name = "uc_software";
                panel1.Controls.Add(uc_software);
            }
            else
            {
            panel1.Visible = true;
            panel1.Controls.Clear();
            //cargamos el control de usuario
            UC_RegProb_Sw uc_software = new UC_RegProb_Sw(nombreUsuario);
            uc_software.Name = "uc_software";
            panel1.Controls.Add(uc_software);
            } 
        }

        private void btn_registrar_Click(object sender, EventArgs e)
        {
            if (radiobtn_hardware.Checked)
            {
                UC_RegProb_Hw uc_hw = (UC_RegProb_Hw)panel1.Controls["uc_hardware"];
                DialogResult dr = uc_hw.registrarProblemaHw();
                switch (dr)
                {
                    case DialogResult.OK:
                        MessageBox.Show("Problema registrado", "Camilo", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                        this.Close();
                        break;
                    case DialogResult.Cancel:
                        MessageBox.Show("Error al registrar problema", "Camilo", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                        break;
                }
            }
            else if (radiobtn_software.Checked)
            {
                UC_RegProb_Sw uc_sw = (UC_RegProb_Sw)panel1.Controls["uc_software"];
                DialogResult dr = uc_sw.registrarProblemaSw();
                switch (dr)
                {
                    case DialogResult.OK:
                        MessageBox.Show("Problema registrado", "Camilo", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                        this.Close();
                        break;
                    case DialogResult.Cancel:
                        MessageBox.Show("Error al registrar problema", "Camilo", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                        break;
                }
            }            
        }
         

        private void btn_cancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btn_Examinar_Click(object sender, EventArgs e)
        {
            txt_nombEquipo.Text = "";
            //grid_equip.Rows.Clear();
            Buscar_Equipo bEquipo = new Buscar_Equipo();
            DialogResult dr = bEquipo.ShowDialog(this);
            switch (dr)
            {
                case DialogResult.OK:
                    txt_nombEquipo.Text = bEquipo.eq.NOMBEQUIPO;
                    txt_nombEquipo.Tag = bEquipo.eq.IDUSUARIO;
                    break;
                case DialogResult.Cancel:
                    txt_nombEquipo.Text = string.Empty;
                    break;
            }
        }
    }
}
